package br.com.ia.business;

import java.util.ArrayList;
import java.util.List;

import br.com.enovar.trex.core.business.GenericBusiness;
import br.com.ia.model.Pergunta;

public class PerguntaBusinessImpl extends GenericBusiness implements
		PerguntaBusiness {

	public List<Pergunta> buscarPergunta(String descricao) {
		
		if(descricao == null){
			descricao = "";
		}
		
		descricao = "%" + descricao + "%";
		
		String[] paramNames = {"descricao"};
		Object[] paramValues = {descricao};
		
		return getHibernateDao().executeQuery("br.com.ia.business.PerguntaBusiness.buscarPergunta", paramNames, paramValues);
	}
	
	public Pergunta buscarPerguntaParaVariavelQueAindaNaoTenhaSidoPerguntada(
			List<Integer> listaCodigoVariavelPeguntada, List<Integer> listaCodigoRegrasInferidas) {
		
		if(listaCodigoVariavelPeguntada == null || listaCodigoVariavelPeguntada.isEmpty()){
			listaCodigoVariavelPeguntada = new ArrayList<Integer>();
			listaCodigoVariavelPeguntada.add(0);
		}
		
		if(listaCodigoRegrasInferidas == null || listaCodigoRegrasInferidas.isEmpty()){
			listaCodigoRegrasInferidas = new ArrayList<Integer>();
			listaCodigoRegrasInferidas.add(0);
		}			
		
		String[] paramNames = {"listaCodigoVariavel", "listaCodigoRegra"};
		Object[] paramValues = {listaCodigoVariavelPeguntada, listaCodigoRegrasInferidas};
		
		List<Pergunta> list = getHibernateDao().executeQuery("br.com.ia.business.PerguntaBusiness.buscarPerguntaParaVariavelQueAindaNaoTenhaSidoPerguntada", paramNames, paramValues);
		
		if(list != null && !list.isEmpty()){
			return list.get(0);
		}
		
		return null;
	
	}
	
}
